<?php
class Kitsorologia extends Zend_Db_Table
{
    protected $_name = "kitsorologia";
        
    public function _getKitsSorologicos()
    {
        $dados = "";
        $select = $this ->_db->select()
                        ->from('kitsorologia',
			array( 'idKitSorologia','Nome', 'Marca','Lote','Validade'))
			->where('eAtivo = 1')
                        ->order('nome');
                        
	$resultado =  $this->getAdapter()->fetchAll($select);
        $delimitador = ',';
               
        for ($cont = 0; $cont < count($resultado); $cont++)
        {
            $dados .= $resultado[$cont]['idKitSorologia'] . ":" . trim($resultado[$cont]['Nome']) . ' - ' .
                                                                  trim($resultado[$cont]['Marca']) . ' - ' .
                                                                  trim($resultado[$cont]['Validade']);
                             
            if($cont  < (count($resultado)-1))
            {
                $dados .= ';';
            }        
       }
        return $dados;
    }
    
    public function lista(array $request)
    {
        $dados = array();
		
	$select = $this->select()
			->from($this, "COUNT(*) AS qtd")
			->where("eativo = ?", 1);
	$result = $this->fetchRow($select);
		
	if($result->qtd > 0){
            $total_pages = ceil($result->qtd / $request['rows']);
	}else{
            $total_pages = 0;
	}

	if($request['page'] == 1){
            $start = 0;
	}else{
            $start = ($request['rows'] * $request['page']) - $request['rows'];
	}

	$dados['total']	= $total_pages;
	$dados['page']	= $request['page'];
	$dados['records'] = $result->qtd;
		
	$select = $this->select()
			->from($this)
			->where("eativo = ?", 1)
			->limit($request['rows'], $start);
	
        if($request['sidx']){
            $select->order($request['sidx'] . " " . $request['sord']);
	}
	$resultado = $this->fetchAll($select)->toArray();
	
        for($cont = 0; $cont < count($resultado); $cont++) {
            $dados['rows'][$cont]['id'] = $resultado[$cont]['idKitSorologia'];
            $dados['rows'][$cont]['cell'] = array(
						trim($resultado[$cont]['nome']),
						trim($resultado[$cont]['marca']),
						trim($resultado[$cont]['lote']),
                				trim($resultado[$cont]['validade'])
                                        	);
	}
	return $dados;
    }
	
    public function add($usuario, array $request)
    {
        $data = $request['validade'];
        $validade = implode("-",array_reverse(explode("/",$data)));
     
        $select = $this->select()
                       ->from($this)
                       ->where('eAtivo = 1 AND UPPER(nome) = UPPER(?)', $request['nome']);
        
        $result = $this->fetchRow($select);
        
        if(!$result){
            $dados = array(
                'nome' => $request['nome'],
                'marca'=> $request['marca'],
                'lote'=> $request['lote'],
                'validade'=> $validade,
                'eAtivo' => 1,
                'idUsuCad' => $usuario
            );
            $resultado = $this->insert($dados);
            if($resultado != 0)
                return 1;
            else
                return 0;
        }
        else
            return 2;
    }
	
    public function edit($usuario, array $request)
    {
	$data = $request['validade'];
        $validade = implode("-",array_reverse(explode("/",$data)));
        
        $select = $this->select()
                       ->from($this)
                       ->where('eAtivo = 1 AND UPPER(nome) = UPPER(?)', $request['nome'])
                       ->where("idKitsorologia <> ?", $request['id']);
        
        $result = $this->fetchRow($select);
        
        if(!$result){
            $dados = array(
                'nome' => $request['nome'],
                'marca'=> $request['marca'],
                'lote'=> $request['lote'],
                'validade'=> $validade,
                'idUsuAtu' => $usuario
            );
            $where = $this->getAdapter()->quoteInto("idKitsorologia = ?", $request['id']);
            $resultado = $this->update($dados, $where);
            if($resultado != 0)
                return 1;
            else
                return 0;
        }
        else
            return 2;
    }		
	
    public function del($usuario, array $request)
    {
        $dados = array(
            'eativo' => 0,
            'idUsuAtu' => $usuario
	);
	$where = $this->getAdapter()->quoteInto("idKitSorologia = ?", $request['id']);
	$resultado = $this->update($dados, $where);
        if($resultado != 0)
            return 1;
        else
            return 0;
    }
}
?>